/**
 * Copyright (C) 2017 - 2020 https://github.com/joewee
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.bifrost.wrapper;

import com.bifrost.entity.*;

import java.util.List;

/**
 * 优惠券相关包装类
 *
 * @author joewee
 * @version 1.0.0
 * @Date 2017/11/9 14:21
 */
public class CouponWrapper {
    private Coupon coupon;
    private CouponDetail detail;
    private List<CouponRule> rules;
    private List<CouponExclude> excludes;
    private List<CouponMerchant> merchants;
    private Order order;
    private boolean available, isDefault;
    private String unavailableReason;
    private List<OrderItem> matchedItems;

    public CouponWrapper(Coupon coupon, CouponDetail detail, List<CouponRule> rules, List<CouponExclude> excludes, List<CouponMerchant> merchants, Order order, boolean isDefault) {
        this.coupon = coupon;
        this.detail = detail;
        this.rules = rules;
        this.excludes = excludes;
        this.merchants = merchants;
        this.order = order;
        this.isDefault = isDefault;
    }

    public Coupon getCoupon() {
        return coupon;
    }

    public void setCoupon(Coupon coupon) {
        this.coupon = coupon;
    }

    public CouponDetail getDetail() {
        return detail;
    }

    public void setDetail(CouponDetail detail) {
        this.detail = detail;
    }

    public List<CouponRule> getRules() {
        return rules;
    }

    public void setRules(List<CouponRule> rules) {
        this.rules = rules;
    }

    public List<CouponMerchant> getMerchants() {
        return merchants;
    }

    public void setMerchants(List<CouponMerchant> merchants) {
        this.merchants = merchants;
    }

    public Order getOrder() {
        return order;
    }

    public void setOrder(Order order) {
        this.order = order;
    }

    public boolean isAvailable() {
        return available;
    }

    public void setAvailable(boolean available) {
        this.available = available;
    }

    public String getUnavailableReason() {
        return unavailableReason;
    }

    public void setUnavailableReason(String unavailableReason) {
        this.unavailableReason = unavailableReason;
    }

    public List<CouponExclude> getExcludes() {
        return excludes;
    }

    public void setExcludes(List<CouponExclude> excludes) {
        this.excludes = excludes;
    }

    public List<OrderItem> getMatchedItems() {
        return matchedItems;
    }

    public void setMatchedItems(List<OrderItem> matchedItems) {
        this.matchedItems = matchedItems;
    }

    public boolean isDefault() {
        return isDefault;
    }

    public void setDefault(boolean aDefault) {
        isDefault = aDefault;
    }
}
